package br.com.vendas.menu.filme.crud;

import java.io.IOException;

import br.com.vendas.dao.FilmeDAO;
import br.com.vendas.dao.impl.FilmeImpl;
import br.com.vendas.dominio.Filme;
import br.com.vendas.exception.ArqException;
import br.com.vendas.menu.ItemMenu;
import br.com.vendas.menu.filme.crud.consulta.ConsultorFilme;
import br.com.vendas.menu.filme.crud.consulta.ItemOpcoesConsultaFilme;

public class ItemRemoverFilme extends ItemMenu implements ConsultorFilme {
	
	private Filme filme;
	
	@Override
	public int getId() {
		return 4;
	}

	@Override
	public String getNome() {
		return "Remover Filme";
	}

	@Override
	protected void processamento() throws IOException, ArqException {
		entrarConsultarFilme();
	}

	@Override
	public void entrarConsultarFilme() throws IOException, ArqException {
		ItemOpcoesConsultaFilme consulta = new ItemOpcoesConsultaFilme(this);
		consulta.processar();		
	}

	@Override
	public void setFilmeConsultado(Filme filme) throws ArqException {
		this.filme = filme;
		finalizaSelecaoFilme();
	}

	@Override
	public void finalizaSelecaoFilme() throws ArqException {
		FilmeDAO dao = new FilmeImpl();
		boolean removeu = dao.remove(filme);
		
		if (removeu){
			addMensagem("Filme removido cmo sucesso.");
		} else
			addMensagem("Ocorreu um erro ao remover o filme selecionado.");
		
		exibirMenuPrincipal();
	}

}
